﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SQLDocumentor.SQLModel
{
    public class SQLTable
    {
        public bool IsSchemaOwned;
        public bool AnsiNullsStatus { get; set; }

        public bool ChangeTrackingEnabled { get; set; }

        public DateTime CreateDate { get; set; }

        public double DataSpaceUsed { get; set; }

        public DateTime DateLastModified { get; set; }

        public string DistributionName { get; set; }

        public bool FakeSystemTable { get; set; }

        public int FederationColumnID { get; set; }

        public string FederationColumnName { get; set; }

        public string FileGroup { get; set; }

        public string FileStreamFileGroup { get; set; }

        public string FileStreamPartitionScheme { get; set; }

        public string FileTableDirectoryName { get; set; }

        public string FileTableNameColumnCollation { get; set; }

        public bool FileTableNamespaceEnabled { get; set; }

        public bool HasAfterTrigger { get; set; }

        public bool HasClusteredIndex { get; set; }

        public bool HasCompressedPartitions { get; set; }

        public bool HasDeleteTrigger { get; set; }

        public bool HasIndex { get; set; }

        public bool HasInsertTrigger { get; set; }

        public bool HasInsteadOfTrigger { get; set; }

        public bool HasUpdateTrigger { get; set; }

        public int ID { get; set; }

        public double IndexSpaceUsed { get; set; }

        public bool IsFileTable { get; set; }

        public bool IsIndexable { get; set; }

        public bool IsPartitioned { get; set; }

        public bool IsSystemObject { get; set; }

        public bool IsVarDecimalStorageFormatEnabled { get; set; }

        public int MaximumDegreeOfParallelism { get; set; }

        public string Name { get; set; }

        public bool OnlineHeapOperation { get; set; }

        public string Owner { get; set; }

        public string PartitionScheme { get; set; }

        public bool QuotedIdentifierStatus { get; set; }

        public bool Replicated { get; set; }

        public long RowCount { get; set; }

        public string Schema { get; set; }

        public string TextFileGroup { get; set; }

        public bool TrackColumnsUpdatedEnabled { get; set; }
        public SQLIndex[] Indexes { get; set; }
        public SQLForeignKey[] ForeignKeys { get; set; }
        public SQLColumn[] Columns { get; set; }
    }
}
